import axios from "axios";

window.axiosPromiseArr = [] // axios中设置放置要取消的对象
axios.interceptors.request.use(config => {
    //发起请求时保存页面所有请求
    config.cancelToken = new axios.CancelToken(cancel => {
        window.axiosPromiseArr.push({ cancel })
    });
    return config
});

axios.interceptors.response.use(res=>{
    //事件处理
},error=>{
    if (axios.isCancel(error)) {
        // 为了终结promise链 (实际请求不会走到.catch(rej=>{}),这样就不会触发错误提示之类的)
        return new Promise(() => {});
    }else{
        return Promise.reject(error)
    }
});

export default axios